home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #279 (1993)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #279 (1993)(Rhein-Sieg-Soft).adf
/
ak_gen0-lib_V38.20.LHA
/
ak_gen0-library
/
Programmers.LHA
/
Programmers
/
ReadMeFirst_DEU.doc
< prev
Wrap
Text File
|
1993-07-30
|
2KB
|
57 lines
>>> THIS TEXT IS NOT AVAILABLE IN ENGLISH YET, SORRY ! <<<
ReadMeFirst_DEU.doc V38.1, 30 July 1993
© 1992-93 by Andreas R. Kleinert. All rights reserved.
Andreas R. Kleinert
Grube Hohe Grethe 23
D-57074 Siegen
Germany
ak_gen0.library
===============
Die "ak_gen0.library" ist die Weiterentwicklung der "ak.library".
Sie ist für die Nutzung aus der Programmiersprache "C" heraus konzipiert.
Da einige der in ihr enthaltenen Funktionen sehr viele Parameter
benötigen, war es nicht möglich, die Parameterübergabe in Form
von REGISTER-Parametern zu realisieren.
Verwendung finden statt dessen STACK-Parameter.
Für den C-Programmierer spielt dies keine Rolle, da hier alles innerhalb
des Link-Modules "ak_gen0.lib" geregelt wird.
Benutzer von SAS/C V6.00 können (und sollen) stattdessen die beigefügten
tagcall-"#pragma"s verwenden, die Stack-Parameter erlauben.
Bei Verwendung der Stubs (anstelle der Pragmas) ist übrigens
KEINE PARALLELE Verwendung anderer "#pragma"s (z.B. von System-Libraries)
mehr möglich.
Wenn Sie es dennoch ausprobieren, werden sie feststellen, daß früher
oder später irgendwo ein Guru/Alert auftritt.
Dies liegt daran, daß die verwendeten Stubs zwangsweise das Basisregister
A6 überschreiben, wo gewöhnlich die von den anderen Libraries benötigte
Library-Base steht.
Falls der verwendete Compiler diese nicht vor jedem Library-Aufruf neu
setzt, sondern bei mehreren Aufrufen von Funktionen aus derselben Library
davon ausgeht, daß diese zwischenzeitlich erhalten geblieben ist, kommt es
zum Absturz. Ich nehme an, daß dies der einzig mögliche Grund ist.
Also verwenden Sie lieber die Pragmas, falls irgendwie möglich !
Assembler-Programmierer brauchen lediglich die Parameter auf dem
Stack zu übergeben, anstatt in diversen Registern.
Für alle anderen Compiler-Sprachen gilt im Prinzip das gleiche wie
für "C".
Die "ak_gen0.library" läßt sich jedoch aufgrund der Stack-Parameter
nicht aus AmigaBASIC heraus verwenden !
Mit den einzelnen Basic-Compilern (z.B. GFA, HiSoft, Cursor, ACE) könnte
es jedoch funktionieren, falls diese Objekt-Module im Lattice/SAS-Format
(BLink-/SLink-kompatibel) oder pragma-ähnliche Anweisungen unterstützen.